const config = {
  breakpoints: {
    xs: 600,
    sm: 900,
    md: 1200,
    lg: 1700,
    xl: 9999 // Xl only needs a greater value than lg but starts from lg and goes to infinity.
  },
  colors: {
    primary: "#234781",
    secondary: "#d3ebff",
    success: "#54b946",
    error: "#f65555",
    warning: "#f80",
    info: "#3d9ff5"
  },
  icons: [],
  iconsLigature: false,
  presets: {}, // User presets for each component.
  // TODO: buety new add
  defaultContainerElement: null,
  defaultIconPack: "mdi",
  defaultIconComponent: null,
  defaultIconPrev: "chevron-left",
  defaultIconNext: "chevron-right",
  defaultLocale: undefined,
  defaultDialogConfirmText: null,
  defaultDialogCancelText: null,
  defaultSnackbarDuration: 3500,
  defaultSnackbarPosition: null,
  defaultToastDuration: 2000,
  defaultToastPosition: null,
  defaultNotificationDuration: 2000,
  defaultNotificationPosition: null,
  defaultTooltipType: "is-primary",
  defaultTooltipDelay: null,
  defaultInputAutocomplete: "on",
  defaultDateFormatter: null,
  defaultDateParser: null,
  defaultDateCreator: null,
  defaultTimeCreator: null,
  defaultDayNames: null,
  defaultMonthNames: null,
  defaultFirstDayOfWeek: null,
  defaultUnselectableDaysOfWeek: null,
  defaultTimeFormatter: null,
  defaultTimeParser: null,
  defaultModalCanCancel: ["escape", "x", "outside", "button"],
  defaultModalScroll: null,
  defaultDatepickerMobileNative: true,
  defaultTimepickerMobileNative: true,
  defaultNoticeQueue: true,
  defaultInputHasCounter: true,
  defaultTaginputHasCounter: true,
  defaultUseHtml5Validation: true,
  defaultDropdownMobileModal: true,
  defaultFieldLabelPosition: null,
  defaultDatepickerYearsRange: [-100, 10],
  defaultDatepickerNearbyMonthDays: true,
  defaultDatepickerNearbySelectableMonthDays: false,
  defaultDatepickerShowWeekNumber: false,
  defaultDatepickerWeekNumberClickable: false,
  defaultDatepickerMobileModal: true,
  defaultTrapFocus: true,
  defaultAutoFocus: true,
  defaultButtonRounded: false,
  defaultCarouselInterval: 3500,
  defaultTabsExpanded: false,
  defaultTabsAnimated: true,
  defaultTabsType: null,
  defaultStatusIcon: true,
  defaultProgrammaticPromise: false,
  defaultLinkTags: [
    "a",
    "button",
    "input",
    "router-link",
    "nuxt-link",
    "n-link",
    "RouterLink",
    "NuxtLink",
    "NLink"
  ],
  defaultImageWebpFallback: null,
  defaultImageLazy: true,
  defaultImageResponsive: true,
  defaultImageRatio: null,
  defaultImageSrcsetFormatter: null,
  customIconPacks: null
};

export { config as default };

export const mergeConfig = options => {
  for (let key in options) {
    const option = options[key];
    if (typeof option === "object") Object.assign(config[key], option);
    else config[key] = option;
  }
};
